x86/HVM: fix ID handling of x2APIC emulation
authorJan Beulich <jbeulich@suse.com>
Thu, 25 Sep 2014 12:08:20 +0000 (14:08 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 25 Sep 2014 12:08:20 +0000 (14:08 +0200)
commitf9e0cccf7b355896d8fd9f87d66e34f77de61061
tree7b063009746efbee65aaf1d806eb78eb18b04a59
parent70173dbb9948b13f423aabbd49d7f7cea6b34d1e
x86/HVM: fix ID handling of x2APIC emulation

- properly change ID when switching into x2APIC mode (instead of
  mimicking necessary behavior in hvm_x2apic_msr_read())
- correctly (meaningfully) set LDR (so far it ended up being 1 on all
  vCPU-s)
- even if we don't support more than 128 vCPU-s in a HVM guest for now,
  we should properly handle IDs as 32-bit values (i.e. not ignore the
  top 24 bits)
- with that, properly do cluster ID and bit mask check in
  vlapic_match_logical_addr()

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
xen/arch/x86/hvm/vlapic.c
xen/include/asm-x86/hvm/vlapic.h